#ifndef _ESTILOCHROME_H_
#define _ESTILOCHROME_H_

#include <view/Botao.h>
#include <view/Estilos/Estilo.h>


class EstiloChrome : public Estilo
{

public:

    EstiloChrome(int cx, int cy);  // parametros temporarios

    Controle* BarraCima();
    Controle* BarraEsq();
    Controle* BarraDir();
    Controle* BarraBaixo();

private:

    Controle* m_barraCima;
    Controle* m_barraEsq;
    Controle* m_barraDir;
    Controle* m_barraBaixo;

};



class EstiloChrome_BotaoFechar : public Botao
{

public:

    EstiloChrome_BotaoFechar(int x, int y);
    bool AoMoverSobre(EventoMoverSobre ev);
    bool AoMoverFora(EventoMoverFora ev);
    bool AoSubirEsq(EventoSubirEsq ev);

private:

    void DesenharBotaoAzul();
    void DesenharBotaoVermelho();
};



class EstiloChrome_BarraEsq : public Controle
{

public:

    EstiloChrome_BarraEsq(int cx, int cy, int x, int y);
    void Altura(int cy);

private:

    void DesenharBarra();
};



class EstiloChrome_BarraDir : public Controle
{

public:

    EstiloChrome_BarraDir(int cx, int cy, int x, int y);
    void Altura(int cy);

private:

    void DesenharBarra();
};



class EstiloChrome_BarraCima : public Controle
{

public:

    EstiloChrome_BarraCima(int cx, int cy, int x, int y);

    void Largura(int cx);
    void Altura(int cy);

    bool AoBaixarEsq(EventoBaixarEsq ev);
    bool AoSubirEsq(EventoSubirEsq ev);
    bool AoMoverSobre(EventoMoverSobre ev);
    bool AoMoverFora(EventoMoverFora ev);

private:

    void DesenharBarraAzul();
    void DesenharBarraAzulClaro();

    bool m_bClicado;
    int xx, yy;

    Controle* m_botaoFechar;
};



class EstiloChrome_BarraBaixo : public Controle
{

public:

    EstiloChrome_BarraBaixo(int cx, int cy, int x, int y);
    void Largura(int cx);

private:

    void DesenharBarra();
};



#endif  // _ESTILOCHROME_H_
